<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
    <!-- 假设你正在开发一个名为MedicalProject的医疗项目。在这个项目中，你需要创建一个名为Patient的构造函数来创建患者对象。每个患者对象应该包含以下属性：
    + name：患者的姓名 + age：患者的年龄 + gender：患者的性别 +
    height：患者的身高（以厘米为单位） + weight：患者的体重（以千克为单位）
    此外，患者对象还应该包含以下方法： +
    bmi：返回患者的BMI（体重除以身高的平方，单位为千克/平方米） +
    maxHeartRate：返回患者的最大心率（用220减去患者的年龄） +
    targetHeartRate：返回患者的目标心率范围（最大心率的50%到85%之间）
    请使用构造函数和原型创建Patient对象，并编写一段代码，创建一个名为John的患者对象，他的年龄为30岁，身高为175厘米，体重为75千克。然后输出John的BMI和目标心率范围。 -->
    <script>
      function Patient(name, age, gender, height, weight) {
        ;(this.name = name),
          (this.age = age),
          (this.gender = gender),
          (this.height = height),
          (this.weight = weight)
      }
      Patient.prototype.bmi = function () {
        return this.weight / (this.height/100 * this.height/100)
      }
      Patient.prototype.maxHeartRate = function () {
        return 220 - this.age
      }
      Patient.prototype.targetHeartRate = function () {
        return `目标心率范围${this.maxHeartRate() * 0.5}----${
          this.maxHeartRate() * 0.85
        })`
      }

      const cxk = new Patient('John', 30, '男', 175, 75)
      const bmi = cxk.bmi()
      const rate = cxk.maxHeartRate()
      console.log(rate);
      const targetHeartRate = cxk.targetHeartRate()
      document.write(`bmi为:${bmi.toFixed(2)} ${targetHeartRate}`)
    </script>
  </body>
</html>
